/**********************************
 * @Author: Your Name
 * @LastEditor: Your Name
 * @LastEditTime: 2025-11-07
 * Copyright © 2025 Your Name
 **********************************/

import { request } from '@/utils/http'

// S3存储配置管理相关API
export default {
  // 获取S3配置列表
  read: (params = {}) => {
    return request({
      url: '/s3-config',
      method: 'GET',
      params,
    })
  },

  // 创建S3配置
  create: (data) => {
    return request({
      url: '/s3-config',
      method: 'POST',
      data,
    })
  },

  // 更新S3配置
  update: (data) => {
    return request({
      url: '/s3-config',
      method: 'PUT',
      data,
    })
  },

  // 删除S3配置
  delete: (id) => {
    return request({
      url: `/s3-config/${id}`,
      method: 'DELETE',
    })
  },

  // 根据ID获取S3配置
  get: (id) => {
    return request({
      url: `/s3-config/${id}`,
      method: 'GET',
    })
  },

  // 测试S3配置连接性
  testConfig: (id) => {
    return request({
      url: `/s3-config/${id}/test`,
      method: 'POST',
    })
  },

  // 获取配置状态
  getConfigStatus: () => {
    return request({
      url: '/s3-config/status', // 假设后端有这个接口，如果没有则返回默认值
      method: 'GET',
    }).catch(() => {
      // 如果后端没有该接口，返回默认统计
      return Promise.resolve({
        code: 0,
        message: 'success',
        data: {
          totalConfigs: 0,
          enabledConfigs: 0,
          disabledConfigs: 0,
        },
      })
    })
  },

  // 获取缓存状态
  getCacheStatus: () => {
    return request({
      url: '/s3-config/cache-status', // 假设后端有这个接口，如果没有则返回默认值
      method: 'GET',
    }).catch(() => {
      // 如果后端没有该接口，返回默认缓存状态
      return Promise.resolve({
        code: 0,
        message: 'success',
        data: {
          cacheSize: '0 MB',
          cacheEntries: 0,
          hitRate: '0',
          lastRefresh: new Date().toISOString(),
        },
      })
    })
  },
}
